package com.yonyou.cyxdms.sysAuth.service.dto;

import com.yonyou.cyx.function.utils.bean.BeanMapperUtil;
import com.yonyou.cyxdms.framework.bean.dto.base.DMSBaseDTO;
import com.yonyou.cyx.framework.bean.entity.base.BasePO;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeDeserializer;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeSerializer;


/**
 * <p>
 * 系统参数表,存放经销商自定义参数，如技师、自定义类别
 * </p>
 *
 * @author 李贺
 * @since 2019-09-18
 */

public class SystemParamDTO extends DMSBaseDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 参数ID
     */
        private Long paramId;
        /**
     * OWNER_CODE
     */
        private Long companyId;
        /**
     * 参数类型
     */
        private Integer paramType;
        /**
     * 参数CODE
     */
        private String paramCode;
        /**
     * 参数名称
     */
        private String paramName;
        /**
     * 状态(有效,10011002无效)
     */
        private Integer status;
        /**
     * 参数值
     */
        private String paramValue;
        /**
     * 维修，配件、通用
     */
        private Integer paramCategory;
        /**
     * 备注
     */
        private String remark;
        /**
     * 逻辑删除标志：是否删除
     */
        private Boolean isDeleted;
    
    public SystemParamDTO() {
        super();
    }




    public Long getParamId() {
        return paramId;
    }


    public void setParamId(Long paramId) {
        this.paramId = paramId;
    }



    public Long getCompanyId() {
        return companyId;
    }


    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }



    public Integer getParamType() {
        return paramType;
    }


    public void setParamType(Integer paramType) {
        this.paramType = paramType;
    }



    public String getParamCode() {
        return paramCode;
    }


    public void setParamCode(String paramCode) {
        this.paramCode = paramCode;
    }



    public String getParamName() {
        return paramName;
    }


    public void setParamName(String paramName) {
        this.paramName = paramName;
    }



    public Integer getStatus() {
        return status;
    }


    public void setStatus(Integer status) {
        this.status = status;
    }



    public String getParamValue() {
        return paramValue;
    }


    public void setParamValue(String paramValue) {
        this.paramValue = paramValue;
    }



    public Integer getParamCategory() {
        return paramCategory;
    }


    public void setParamCategory(Integer paramCategory) {
        this.paramCategory = paramCategory;
    }



    public String getRemark() {
        return remark;
    }


    public void setRemark(String remark) {
        this.remark = remark;
    }



    public Boolean getDeleted() {
        return isDeleted;
    }


    public void setDeleted(Boolean isDeleted) {
        this.isDeleted = isDeleted;
    }



    @Override
    public String toString() {
        return "SystemParamDTO{" +
        "paramId=" + paramId +
        ", companyId=" + companyId +
        ", paramType=" + paramType +
        ", paramCode=" + paramCode +
        ", paramName=" + paramName +
        ", status=" + status +
        ", paramValue=" + paramValue +
        ", paramCategory=" + paramCategory +
        ", remark=" + remark +
        ", isDeleted=" + isDeleted +
        "}";
    }
    /**
     * 将DTO 转换为PO
     * //对某个对象属性进行赋值
     * //BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     * @param poClass dto 需要转换的dto
     * @author 李贺
     * @since 2018/7/22 0022
     */
    @Override
    public <T extends BasePO> T transDtoToPo(Class<T> poClass) {
        return super.transDtoToPo(poClass);
    }

    /**
     * 将DTO 转换为PO
     * BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     * @param po 需要转换的对象
     * @author 李贺
     * @since 2018/7/22 0022
     */
    public <T extends BasePO> void transDtoToPo(T po) {
        BeanMapperUtil.copyProperties(this, po, "paramId");
    }

}
